package zw_101_200.zw_171_Excel表列序号;


class Solution {

    public static void main(String[] args) {
        String columnTitle = "A";
        int number = titleToNumber(columnTitle);
        System.out.println(number);
    }

    /**
     * 正向累加
     * @param columnTitle
     * @return
     */
    public static int titleToNumber(String columnTitle) {
        int res = 0;
        for (int i = 0; i < columnTitle.length(); i++) {
            int num = columnTitle.charAt(i) - 'A' + 1;
            res = res * 26 + num;
        }
        return res;
    }


    /**
     * 反向累加
      * @param columnTitle
     * @return
     */
//    public static int titleToNumber(String columnTitle) {
//        int len = columnTitle.length();
//        int num = 0;
//        for (int i = len-1; i >=0; i--) {
//            num += (columnTitle.charAt(i) - 'A' + 1) * Math.pow(26, len - i - 1);
//        }
//        return num;
//    }


//    public int titleToNumber(String columnTitle) {
//        int number = 0;
//        int multiple = 1;
//        for (int i = columnTitle.length() - 1; i >= 0; i--) {
//            int k = columnTitle.charAt(i) - 'A' + 1;
//            number += k * multiple;
//            multiple *= 26;
//        }
//        return number;
//    }
}
